﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace pulsarc.Language
{
    class BootHeader
    {
        /// <summary>
        /// The top header of the output.asm that makes it bootable, well
        /// makes it so we can use a bootloader to boot it.
        /// </summary>
        public static string Data = @"%ifndef ELF_COMPILATION
use32
org 0x200000
[map all main.map]
%endif
%ifndef ELF_COMPILATION
MultibootSignature dd 464367618
MultibootFlags dd 65539
MultibootChecksum dd -464433157
MultibootHeaderAddr dd MultibootSignature
MultibootLoadAddr dd MultibootSignature
MultibootLoadEndAddr dd EndCode
MultibootBSSEndAddr dd EndCode
MultibootEntryAddr dd START
%endif
%ifdef ELF_COMPILATION
MultibootSignature dd 464367618
MultibootFlags dd 3
MultibootChecksum dd -464367621
%endif
MultibootGraphicsRuntime_VbeModeInfoAddr dd 2147483647
MultibootGraphicsRuntime_VbeControlInfoAddr dd 2147483647
MultibootGraphicsRuntime_VbeMode dd 2147483647
MultiBootInfo_Memory_High dd 0
MultiBootInfo_Memory_Low dd 0
";
    }
}
